Docker 邊做邊學 (2) 製作鏡像 centos + nginx

  1. 創建並命名mynginx
1
docker run --name mynginx -it centos

容器內操作,安裝nginx

1
2
3
4
[root@5de85a72b2c0 /]# rpm -ivh http://mirrors.aliyun.com/epel/
[root@5de85a72b2c0 /]# epel-release-latest-7.noarch.rpm
[root@5de85a72b2c0 /]# yum install -y nginx
[root@5de85a72b2c0 /]# exit
  1. 查看mynginx的ID
1
2
3
4
5
docker ps -a

輸出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5de85a72b2c0 centos "/bin/bash" 3 minutes ago Exited (0) About a minute ago mynginx

看到容器ID是5de85a72b2c0

  1. 第一次製作鏡像

使用commit命令將容器製作為鏡像

1
docker commit -m “mynginx” 5de85a72b2c0 noyung/mynginx:v1

運行完畢後,查看當前所有鏡像

1
docker images

這時候已經多出了一個新的鏡像

  1. 第二次製作鏡像

為剛才剛才建立好的鏡像加入一點內容

啟動新的容器

1
docker run -it --name nginxv1 noyung/mynginx:v1

在容器內,修改nginx.conf文件

1
[root@00f79adf417e /]# vi /etc/nginx/nginx.conf

加入 daemon off; 後離開exit

再次製作鏡像

1
docker commit -m “mynginx” dd99178fb0fb noyung/mynginx:v2

啟動 V2 images

1
docker run -d -p 82:80 noyung/mynginx:v2 nginx

小總結
Docker可以根據自己需要的環境,慢慢打上服務配置製作鏡像,但是這樣的方式效率不太好,上面的步驟可以透過dockerfile搞定。